# -*- coding: utf-8 -*-
from django import forms
from django.forms.util import ErrorList
from djtools.formfields import BrDataField
from djtools.formwidgets import BrDataWidget, BrTelefoneWidget

#############
# ETIQUETAS #
#############

class EtiquetasServidoresForm(forms.Form):
    CAMPOS = [
        ('nome', 'Nome'),
        ('endereco__cep', 'CEP'),
        ('matricula', 'Matrícula'),
        ('matricula_siape','Matrícula SIAPE') 
        ]
    ordem = forms.ChoiceField(label=u'Ordenar por', widget=forms.Select(), choices=CAMPOS, required=False)
    
    METHOD = 'GET'
    TITLE = 'Gerar Etiquetas dos Servidores'
    
##################
# ATESTADO SAUDE #
##################

class RelatorioAtestadoPeriodoForm(forms.Form):
    
    fieldsets = [
        (None, {'fields': [('data_inicial','data_final')]}),
    ]
    
    data_inicial = BrDataField(label=u"Período", help_text=u'Data inicial', required=False)
    data_final = BrDataField(help_text=u'Data final', widget=BrDataWidget(show_label=False), required=False)
    
    def clean(self):
        if not self.errors:
            if self.cleaned_data['data_final'] and self.cleaned_data['data_inicial']:
                if self.cleaned_data['data_final'] <= self.cleaned_data['data_inicial']:
                    self._errors['data_final'] = ErrorList([u'A data final deve ser superior a data inicial.'])
                if self.cleaned_data['data_inicial'] >= self.cleaned_data['data_final']:
                    self._errors['data_inicial'] = ErrorList([u'A data inicial deve ser inferior a data final.'])
        return self.cleaned_data
    
    METHOD = 'GET'
    TITLE = 'Gerar Relatório de Atestados por Período'
    
class RelatorioGuiaAtendimentoForm(forms.Form):
    
    CAMPOS = [
              ('Hemograma Completo', 'Hemograma Completo'),
              ('Oftalmológico', 'Oftalmológico'),
              ('Eletrocardiograma', 'Eletrocardiograma'),
              ('Eletroencefalograma', 'Eletroencefalograma'),
              ('Audiometria Tonal', 'Audiometria Tonal'),
              ('PSA', 'PSA'),
              ('Glicemia', 'Glicemia'),
              ('Gama GT', 'Gama GT'),
              ]
    
    fieldsets = [
        (None, {'fields': ['data_inicial']}),
        (u'Prestador de Serviço', {'fields': ['prestador', 'endereco', 'telefone']}),
        (u'Serviços', {'fields': ['servicos', 'outros']}),
    ]
    
    data_inicial = BrDataField(label=u"Data do Exame")
    prestador = forms.CharField(label=u'Instituição/Profissional')
    endereco = forms.CharField(label=u'Endereço', widget=forms.TextInput(attrs={'size':'70'}))
    telefone = forms.CharField(label=u'Telefone', widget=BrTelefoneWidget)
    servicos = forms.MultipleChoiceField(label='', widget=forms.CheckboxSelectMultiple, choices=CAMPOS, required=False)
    outros = forms.CharField(label=u'Outros', widget=forms.Textarea, required=False)
    
    METHOD = 'GET'
    TITLE = 'Gerar Guia de Atendimento'